arch: riscv: Use CONFIG_PMP_SLOTS for M-mode stack guard arrays #97077
+4
−6
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The arrays used for M-mode Physical Memory Protection (PMP), specifically for the stack guard feature (
CONFIG_PMP_STACK_GUARD
), were previously sized using the hardcodedPMP_M_MODE_SLOTS
macro, defined as 8. This affected arrays in both the_thread_arch
struct (m_mode_pmpaddr_regs
,m_mode_pmpcfg_regs
) and local variables within thez_riscv_pmp_stackguard_disable
function.This commit changes the array sizing to use the Kconfig option
CONFIG_PMP_SLOTS
. This option reflects the total number of PMP slots available and configured for the target hardware.Using
CONFIG_PMP_SLOTS
ensures these arrays are dimensioned according to the system's actual capabilities, providing better flexibility and correctness over a fixed size.The
PMP_M_MODE_SLOTS
macro definition has been removed from thread.h as it is no longer used.